TSTP Solution File: SWV433^1 by cvc5---1.0.5
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : cvc5---1.0.5
% Problem : SWV433^1 : TPTP v8.1.2. Released v3.6.0.
% Transfm : none
% Format : tptp
% Command : do_cvc5 %s %d
% Computer : n028.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Thu Aug 31 21:51:28 EDT 2023
% Result : CounterSatisfiable 35.65s 35.89s
% Output : Assurance 0s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----No solution output by system
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.13 % Problem : SWV433^1 : TPTP v8.1.2. Released v3.6.0.
% 0.06/0.14 % Command : do_cvc5 %s %d
% 0.14/0.34 % Computer : n028.cluster.edu
% 0.14/0.34 % Model : x86_64 x86_64
% 0.14/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.34 % Memory : 8042.1875MB
% 0.14/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.14/0.34 % CPULimit : 300
% 0.14/0.34 % WCLimit : 300
% 0.14/0.34 % DateTime : Tue Aug 29 04:35:40 EDT 2023
% 0.14/0.34 % CPUTime :
% 0.21/0.48 %----Proving TH0
% 0.21/0.48 %------------------------------------------------------------------------------
% 0.21/0.48 % File : SWV433^1 : TPTP v8.1.2. Released v3.6.0.
% 0.21/0.48 % Domain : Software Verification (Security)
% 0.21/0.48 % Problem : ICL^=> logic mapping to modal logic implies that Example 2 holds
% 0.21/0.48 % Version : [Ben08] axioms.
% 0.21/0.48 % English :
% 0.21/0.48
% 0.21/0.48 % Refs : [GA08] Garg & Abadi (2008), A Modal Deconstruction of Access
% 0.21/0.48 % : [Ben08] Benzmueller (2008), Automating Access Control Logics i
% 0.21/0.48 % : [BP09] Benzmueller & Paulson (2009), Exploring Properties of
% 0.21/0.48 % Source : [Ben08]
% 0.21/0.48 % Names :
% 0.21/0.48
% 0.21/0.48 % Status : CounterCounterSatisfiable
% 0.21/0.48 % Rating : 1.00 v8.1.0, 0.80 v7.5.0, 0.60 v7.4.0, 0.75 v7.2.0, 0.67 v6.2.0, 0.33 v5.4.0, 1.00 v5.0.0, 0.33 v4.1.0, 0.00 v4.0.0, 1.00 v3.7.0
% 0.21/0.48 % Syntax : Number of formulae : 65 ( 25 unt; 35 typ; 25 def)
% 0.21/0.48 % Number of atoms : 112 ( 25 equ; 0 cnn)
% 0.21/0.48 % Maximal formula atoms : 12 ( 3 avg)
% 0.21/0.48 % Number of connectives : 88 ( 3 ~; 1 |; 2 &; 81 @)
% 0.21/0.48 % ( 0 <=>; 1 =>; 0 <=; 0 <~>)
% 0.21/0.48 % Maximal formula depth : 8 ( 2 avg)
% 0.21/0.48 % Number of types : 3 ( 1 usr)
% 0.21/0.48 % Number of type conns : 133 ( 133 >; 0 *; 0 +; 0 <<)
% 0.21/0.48 % Number of symbols : 43 ( 40 usr; 9 con; 0-3 aty)
% 0.21/0.48 % Number of variables : 49 ( 41 ^; 4 !; 4 ?; 49 :)
% 0.21/0.48 % SPC : TH0_CSA_EQU_NAR
% 0.21/0.48
% 0.21/0.48 % Comments :
% 0.21/0.48 %------------------------------------------------------------------------------
% 0.21/0.48 %----Include axioms of multi modal logic
% 0.21/0.48 %------------------------------------------------------------------------------
% 0.21/0.48 %----Our possible worlds are are encoded as terms the type $i;
% 0.21/0.48 %----Here is a constant for the current world:
% 0.21/0.48 thf(current_world,type,
% 0.21/0.48 current_world: $i ).
% 0.21/0.48
% 0.21/0.48 %----Modal logic propositions are then becoming predicates of type ( $i> $o);
% 0.21/0.48 %----We introduce some atomic multi-modal logic propositions as constants of
% 0.21/0.48 %----type ( $i> $o):
% 0.21/0.48 thf(prop_a,type,
% 0.21/0.48 prop_a: $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(prop_b,type,
% 0.21/0.48 prop_b: $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(prop_c,type,
% 0.21/0.48 prop_c: $i > $o ).
% 0.21/0.48
% 0.21/0.48 %----The idea is that an atomic multi-modal logic proposition P (of type
% 0.21/0.48 %---- $i > $o) holds at a world W (of type $i) iff W is in P resp. (P @ W)
% 0.21/0.48 %----Now we define the multi-modal logic connectives by reducing them to set
% 0.21/0.48 %----operations
% 0.21/0.48 %----mfalse corresponds to emptyset (of type $i)
% 0.21/0.48 thf(mfalse_decl,type,
% 0.21/0.48 mfalse: $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mfalse,definition,
% 0.21/0.48 ( mfalse
% 0.21/0.48 = ( ^ [X: $i] : $false ) ) ).
% 0.21/0.48
% 0.21/0.48 %----mtrue corresponds to the universal set (of type $i)
% 0.21/0.48 thf(mtrue_decl,type,
% 0.21/0.48 mtrue: $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mtrue,definition,
% 0.21/0.48 ( mtrue
% 0.21/0.48 = ( ^ [X: $i] : $true ) ) ).
% 0.21/0.48
% 0.21/0.48 %----mnot corresponds to set complement
% 0.21/0.48 thf(mnot_decl,type,
% 0.21/0.48 mnot: ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mnot,definition,
% 0.21/0.48 ( mnot
% 0.21/0.48 = ( ^ [X: $i > $o,U: $i] :
% 0.21/0.48 ~ ( X @ U ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----mor corresponds to set union
% 0.21/0.48 thf(mor_decl,type,
% 0.21/0.48 mor: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mor,definition,
% 0.21/0.48 ( mor
% 0.21/0.48 = ( ^ [X: $i > $o,Y: $i > $o,U: $i] :
% 0.21/0.48 ( ( X @ U )
% 0.21/0.48 | ( Y @ U ) ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----mand corresponds to set intersection
% 0.21/0.48 thf(mand_decl,type,
% 0.21/0.48 mand: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mand,definition,
% 0.21/0.48 ( mand
% 0.21/0.48 = ( ^ [X: $i > $o,Y: $i > $o,U: $i] :
% 0.21/0.48 ( ( X @ U )
% 0.21/0.48 & ( Y @ U ) ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----mimpl defined via mnot and mor
% 0.21/0.48 thf(mimpl_decl,type,
% 0.21/0.48 mimpl: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mimpl,definition,
% 0.21/0.48 ( mimpl
% 0.21/0.48 = ( ^ [U: $i > $o,V: $i > $o] : ( mor @ ( mnot @ U ) @ V ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----miff defined via mand and mimpl
% 0.21/0.48 thf(miff_decl,type,
% 0.21/0.48 miff: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(miff,definition,
% 0.21/0.48 ( miff
% 0.21/0.48 = ( ^ [U: $i > $o,V: $i > $o] : ( mand @ ( mimpl @ U @ V ) @ ( mimpl @ V @ U ) ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----mbox
% 0.21/0.48 thf(mbox_decl,type,
% 0.21/0.48 mbox: ( $i > $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mbox,definition,
% 0.21/0.48 ( mbox
% 0.21/0.48 = ( ^ [R: $i > $i > $o,P: $i > $o,X: $i] :
% 0.21/0.48 ! [Y: $i] :
% 0.21/0.48 ( ( R @ X @ Y )
% 0.21/0.48 => ( P @ Y ) ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----mdia
% 0.21/0.48 thf(mdia_decl,type,
% 0.21/0.48 mdia: ( $i > $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mdia,definition,
% 0.21/0.48 ( mdia
% 0.21/0.48 = ( ^ [R: $i > $i > $o,P: $i > $o,X: $i] :
% 0.21/0.48 ? [Y: $i] :
% 0.21/0.48 ( ( R @ X @ Y )
% 0.21/0.48 & ( P @ Y ) ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----For mall and mexists, i.e., first order modal logic, we declare a new
% 0.21/0.48 %----base type individuals
% 0.21/0.48 thf(individuals_decl,type,
% 0.21/0.48 individuals: $tType ).
% 0.21/0.48
% 0.21/0.48 %----mall
% 0.21/0.48 thf(mall_decl,type,
% 0.21/0.48 mall: ( individuals > $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mall,definition,
% 0.21/0.48 ( mall
% 0.21/0.48 = ( ^ [P: individuals > $i > $o,W: $i] :
% 0.21/0.48 ! [X: individuals] : ( P @ X @ W ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----mexists
% 0.21/0.48 thf(mexists_decl,type,
% 0.21/0.48 mexists: ( individuals > $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mexists,definition,
% 0.21/0.48 ( mexists
% 0.21/0.48 = ( ^ [P: individuals > $i > $o,W: $i] :
% 0.21/0.48 ? [X: individuals] : ( P @ X @ W ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----Validity of a multi modal logic formula can now be encoded as
% 0.21/0.48 thf(mvalid_decl,type,
% 0.21/0.48 mvalid: ( $i > $o ) > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mvalid,definition,
% 0.21/0.48 ( mvalid
% 0.21/0.48 = ( ^ [P: $i > $o] :
% 0.21/0.48 ! [W: $i] : ( P @ W ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----Satisfiability of a multi modal logic formula can now be encoded as
% 0.21/0.48 thf(msatisfiable_decl,type,
% 0.21/0.48 msatisfiable: ( $i > $o ) > $o ).
% 0.21/0.48
% 0.21/0.48 thf(msatisfiable,definition,
% 0.21/0.48 ( msatisfiable
% 0.21/0.48 = ( ^ [P: $i > $o] :
% 0.21/0.48 ? [W: $i] : ( P @ W ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----Countersatisfiability of a multi modal logic formula can now be encoded as
% 0.21/0.48 thf(mcountersatisfiable_decl,type,
% 0.21/0.48 mcountersatisfiable: ( $i > $o ) > $o ).
% 0.21/0.48
% 0.21/0.48 thf(mcountersatisfiable,definition,
% 0.21/0.48 ( mcountersatisfiable
% 0.21/0.48 = ( ^ [P: $i > $o] :
% 0.21/0.48 ? [W: $i] :
% 0.21/0.48 ~ ( P @ W ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----Invalidity of a multi modal logic formula can now be encoded as
% 0.21/0.48 thf(minvalid_decl,type,
% 0.21/0.48 minvalid: ( $i > $o ) > $o ).
% 0.21/0.48
% 0.21/0.48 thf(minvalid,definition,
% 0.21/0.48 ( minvalid
% 0.21/0.48 = ( ^ [P: $i > $o] :
% 0.21/0.48 ! [W: $i] :
% 0.21/0.48 ~ ( P @ W ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %------------------------------------------------------------------------------
% 0.21/0.48 %----Include axioms of ICL logic
% 0.21/0.48 %------------------------------------------------------------------------------
% 0.21/0.48 %----The encoding of ICL logic employs only one accessibility relation which
% 0.21/0.48 %----introduce here as a constant 'rel'; we don't need multimodal logic.
% 0.21/0.48 thf(rel_type,type,
% 0.21/0.48 rel: $i > $i > $o ).
% 0.21/0.48
% 0.21/0.48 %----ICL logic distiguishes between atoms and principals; for this we introduce
% 0.21/0.48 %----a predicate 'icl_atom' ...
% 0.21/0.48 thf(icl_atom_type,type,
% 0.21/0.48 icl_atom: ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_atom,definition,
% 0.21/0.48 ( icl_atom
% 0.21/0.48 = ( ^ [P: $i > $o] : ( mbox @ rel @ P ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %---- ... and also a predicate 'icl_princ'
% 0.21/0.48 thf(icl_princ_type,type,
% 0.21/0.48 icl_princ: ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_princ,definition,
% 0.21/0.48 ( icl_princ
% 0.21/0.48 = ( ^ [P: $i > $o] : P ) ) ).
% 0.21/0.48
% 0.21/0.48 %----ICL and connective
% 0.21/0.48 thf(icl_and_type,type,
% 0.21/0.48 icl_and: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_and,definition,
% 0.21/0.48 ( icl_and
% 0.21/0.48 = ( ^ [A: $i > $o,B: $i > $o] : ( mand @ A @ B ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----ICL or connective
% 0.21/0.48 thf(icl_or_type,type,
% 0.21/0.48 icl_or: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_or,definition,
% 0.21/0.48 ( icl_or
% 0.21/0.48 = ( ^ [A: $i > $o,B: $i > $o] : ( mor @ A @ B ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----ICL implication connective
% 0.21/0.48 thf(icl_impl_type,type,
% 0.21/0.48 icl_impl: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_impl,definition,
% 0.21/0.48 ( icl_impl
% 0.21/0.48 = ( ^ [A: $i > $o,B: $i > $o] : ( mbox @ rel @ ( mimpl @ A @ B ) ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----ICL true connective
% 0.21/0.48 thf(icl_true_type,type,
% 0.21/0.48 icl_true: $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_true,definition,
% 0.21/0.48 icl_true = mtrue ).
% 0.21/0.48
% 0.21/0.48 %----ICL false connective
% 0.21/0.48 thf(icl_false_type,type,
% 0.21/0.48 icl_false: $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_false,definition,
% 0.21/0.48 icl_false = mfalse ).
% 0.21/0.48
% 0.21/0.48 %----ICL says connective
% 0.21/0.48 thf(icl_says_type,type,
% 0.21/0.48 icl_says: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_says,definition,
% 0.21/0.48 ( icl_says
% 0.21/0.48 = ( ^ [A: $i > $o,S: $i > $o] : ( mbox @ rel @ ( mor @ A @ S ) ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %----An ICL formula is K-valid if its translation into modal logic is valid
% 0.21/0.48 thf(iclval_decl_type,type,
% 0.21/0.48 iclval: ( $i > $o ) > $o ).
% 0.21/0.48
% 0.21/0.48 thf(icl_s4_valid,definition,
% 0.21/0.48 ( iclval
% 0.21/0.48 = ( ^ [X: $i > $o] : ( mvalid @ X ) ) ) ).
% 0.21/0.48
% 0.21/0.48 %------------------------------------------------------------------------------
% 0.21/0.48 %----Include axioms of ICL^=> logic
% 0.21/0.48 %------------------------------------------------------------------------------
% 0.21/0.49 %----The new connective 'speaks for'
% 0.21/0.49 thf(icl_impl_princ_type,type,
% 0.21/0.49 icl_impl_princ: ( $i > $o ) > ( $i > $o ) > $i > $o ).
% 0.21/0.49
% 0.21/0.49 thf(icl_impl_princ,definition,
% 0.21/0.49 ( icl_impl_princ
% 0.21/0.49 = ( ^ [A: $i > $o,B: $i > $o] : ( mbox @ rel @ ( mimpl @ A @ B ) ) ) ) ).
% 0.21/0.49
% 0.21/0.49 %------------------------------------------------------------------------------
% 0.21/0.49 %------------------------------------------------------------------------------
% 0.21/0.49 %----The prinicpals
% 0.21/0.49 thf(admin,type,
% 0.21/0.49 admin: $i > $o ).
% 0.21/0.49
% 0.21/0.49 thf(bob,type,
% 0.21/0.49 bob: $i > $o ).
% 0.21/0.49
% 0.21/0.49 thf(alice,type,
% 0.21/0.49 alice: $i > $o ).
% 0.21/0.49
% 0.21/0.49 %----The atoms
% 0.21/0.49 thf(deletfile1,type,
% 0.21/0.49 deletefile1: $i > $o ).
% 0.21/0.49
% 0.21/0.49 %----The axioms of the example problem
% 0.21/0.49 %----(admin says deletefile1) => deletfile1
% 0.21/0.49 thf(ax1,axiom,
% 0.21/0.49 iclval @ ( icl_impl @ ( icl_says @ ( icl_princ @ admin ) @ ( icl_atom @ deletefile1 ) ) @ ( icl_atom @ deletefile1 ) ) ).
% 0.21/0.49
% 0.21/0.49 %----(admin says ((bob says deletefile1) => deletfile1))
% 0.21/0.49 thf(ax2,axiom,
% 0.21/0.49 iclval @ ( icl_says @ ( icl_princ @ admin ) @ ( icl_impl @ ( icl_says @ ( icl_princ @ bob ) @ ( icl_atom @ deletefile1 ) ) @ ( icl_atom @ deletefile1 ) ) ) ).
% 0.21/0.49
% 0.21/0.49 %----(bob says (alice ==> bob))
% 0.21/0.49 thf(ax3,axiom,
% 0.21/0.49 iclval @ ( icl_says @ ( icl_princ @ bob ) @ ( icl_impl_princ @ ( icl_princ @ alice ) @ ( icl_princ @ bob ) ) ) ).
% 0.21/0.49
% 0.21/0.49 %----(alice says deletefile1)
% 0.21/0.49 thf(ax4,axiom,
% 0.21/0.49 iclval @ ( icl_says @ ( icl_princ @ alice ) @ ( icl_atom @ deletefile1 ) ) ).
% 0.21/0.49
% 0.21/0.49 %----We prove deletefile1
% 0.21/0.49 thf(conj,conjecture,
% 0.21/0.49 iclval @ ( icl_atom @ deletefile1 ) ).
% 0.21/0.49
% 0.21/0.49 %------------------------------------------------------------------------------
% 0.21/0.49 ------- convert to smt2 : /export/starexec/sandbox2/tmp/tmp.KslqnjxiNo/cvc5---1.0.5_11020.p...
% 0.21/0.49 (declare-sort $$unsorted 0)
% 0.21/0.49 (declare-fun tptp.current_world () $$unsorted)
% 0.21/0.49 (declare-fun tptp.prop_a ($$unsorted) Bool)
% 0.21/0.49 (declare-fun tptp.prop_b ($$unsorted) Bool)
% 0.21/0.49 (declare-fun tptp.prop_c ($$unsorted) Bool)
% 0.21/0.49 (declare-fun tptp.mfalse ($$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mfalse (lambda ((X $$unsorted)) false)))
% 0.21/0.49 (declare-fun tptp.mtrue ($$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mtrue (lambda ((X $$unsorted)) true)))
% 0.21/0.49 (declare-fun tptp.mnot ((-> $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mnot (lambda ((X (-> $$unsorted Bool)) (U $$unsorted)) (not (@ X U)))))
% 0.21/0.49 (declare-fun tptp.mor ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mor (lambda ((X (-> $$unsorted Bool)) (Y (-> $$unsorted Bool)) (U $$unsorted)) (or (@ X U) (@ Y U)))))
% 0.21/0.49 (declare-fun tptp.mand ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mand (lambda ((X (-> $$unsorted Bool)) (Y (-> $$unsorted Bool)) (U $$unsorted)) (and (@ X U) (@ Y U)))))
% 0.21/0.49 (declare-fun tptp.mimpl ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mimpl (lambda ((U (-> $$unsorted Bool)) (V (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ (@ (@ tptp.mor (@ tptp.mnot U)) V) __flatten_var_0))))
% 0.21/0.49 (declare-fun tptp.miff ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.miff (lambda ((U (-> $$unsorted Bool)) (V (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ (@ (@ tptp.mand (@ (@ tptp.mimpl U) V)) (@ (@ tptp.mimpl V) U)) __flatten_var_0))))
% 0.21/0.49 (declare-fun tptp.mbox ((-> $$unsorted $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mbox (lambda ((R (-> $$unsorted $$unsorted Bool)) (P (-> $$unsorted Bool)) (X $$unsorted)) (forall ((Y $$unsorted)) (=> (@ (@ R X) Y) (@ P Y))))))
% 0.21/0.49 (declare-fun tptp.mdia ((-> $$unsorted $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mdia (lambda ((R (-> $$unsorted $$unsorted Bool)) (P (-> $$unsorted Bool)) (X $$unsorted)) (exists ((Y $$unsorted)) (and (@ (@ R X) Y) (@ P Y))))))
% 0.21/0.49 (declare-sort tptp.individuals 0)
% 0.21/0.49 (declare-fun tptp.mall ((-> tptp.individuals $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mall (lambda ((P (-> tptp.individuals $$unsorted Bool)) (W $$unsorted)) (forall ((X tptp.individuals)) (@ (@ P X) W)))))
% 0.21/0.49 (declare-fun tptp.mexists ((-> tptp.individuals $$unsorted Bool) $$unsorted) Bool)
% 0.21/0.49 (assert (= tptp.mexists (lambda ((P (-> tptp.individuals $$unsorted Bool)) (W $$unsorted)) (exists ((X tptp.individuals)) (@ (@ P X) W)))))
% 20.44/20.65 (declare-fun tptp.mvalid ((-> $$unsorted Bool)) Bool)
% 20.44/20.65 (assert (= tptp.mvalid (lambda ((P (-> $$unsorted Bool))) (forall ((W $$unsorted)) (@ P W)))))
% 20.44/20.65 (declare-fun tptp.msatisfiable ((-> $$unsorted Bool)) Bool)
% 20.44/20.65 (assert (= tptp.msatisfiable (lambda ((P (-> $$unsorted Bool))) (exists ((W $$unsorted)) (@ P W)))))
% 20.44/20.65 (declare-fun tptp.mcountersatisfiable ((-> $$unsorted Bool)) Bool)
% 20.44/20.65 (assert (= tptp.mcountersatisfiable (lambda ((P (-> $$unsorted Bool))) (exists ((W $$unsorted)) (not (@ P W))))))
% 20.44/20.65 (declare-fun tptp.minvalid ((-> $$unsorted Bool)) Bool)
% 20.44/20.65 (assert (= tptp.minvalid (lambda ((P (-> $$unsorted Bool))) (forall ((W $$unsorted)) (not (@ P W))))))
% 20.44/20.65 (declare-fun tptp.rel ($$unsorted $$unsorted) Bool)
% 20.44/20.65 (declare-fun tptp.icl_atom ((-> $$unsorted Bool) $$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_atom (lambda ((P (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ (@ (@ tptp.mbox tptp.rel) P) __flatten_var_0))))
% 20.44/20.65 (declare-fun tptp.icl_princ ((-> $$unsorted Bool) $$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_princ (lambda ((P (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ P __flatten_var_0))))
% 20.44/20.65 (declare-fun tptp.icl_and ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_and (lambda ((A (-> $$unsorted Bool)) (B (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ (@ (@ tptp.mand A) B) __flatten_var_0))))
% 20.44/20.65 (declare-fun tptp.icl_or ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_or (lambda ((A (-> $$unsorted Bool)) (B (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ (@ (@ tptp.mor A) B) __flatten_var_0))))
% 20.44/20.65 (declare-fun tptp.icl_impl ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_impl (lambda ((A (-> $$unsorted Bool)) (B (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ (@ (@ tptp.mbox tptp.rel) (@ (@ tptp.mimpl A) B)) __flatten_var_0))))
% 20.44/20.65 (declare-fun tptp.icl_true ($$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_true tptp.mtrue))
% 20.44/20.65 (declare-fun tptp.icl_false ($$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_false tptp.mfalse))
% 20.44/20.65 (declare-fun tptp.icl_says ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_says (lambda ((A (-> $$unsorted Bool)) (S (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ (@ (@ tptp.mbox tptp.rel) (@ (@ tptp.mor A) S)) __flatten_var_0))))
% 20.44/20.65 (declare-fun tptp.iclval ((-> $$unsorted Bool)) Bool)
% 20.44/20.65 (assert (= tptp.iclval (lambda ((X (-> $$unsorted Bool))) (@ tptp.mvalid X))))
% 20.44/20.65 (declare-fun tptp.icl_impl_princ ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool)
% 20.44/20.65 (assert (= tptp.icl_impl_princ (lambda ((A (-> $$unsorted Bool)) (B (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (@ (@ (@ tptp.mbox tptp.rel) (@ (@ tptp.mimpl A) B)) __flatten_var_0))))
% 20.44/20.65 (declare-fun tptp.admin ($$unsorted) Bool)
% 20.44/20.65 (declare-fun tptp.bob ($$unsorted) Bool)
% 20.44/20.65 (declare-fun tptp.alice ($$unsorted) Bool)
% 20.44/20.65 (declare-fun tptp.deletefile1 ($$unsorted) Bool)
% 20.44/20.65 (assert (let ((_let_1 (@ tptp.icl_atom tptp.deletefile1))) (@ tptp.iclval (@ (@ tptp.icl_impl (@ (@ tptp.icl_says (@ tptp.icl_princ tptp.admin)) _let_1)) _let_1))))
% 20.44/20.65 (assert (let ((_let_1 (@ tptp.icl_atom tptp.deletefile1))) (@ tptp.iclval (@ (@ tptp.icl_says (@ tptp.icl_princ tptp.admin)) (@ (@ tptp.icl_impl (@ (@ tptp.icl_says (@ tptp.icl_princ tptp.bob)) _let_1)) _let_1)))))
% 20.44/20.65 (assert (let ((_let_1 (@ tptp.icl_princ tptp.bob))) (@ tptp.iclval (@ (@ tptp.icl_says _let_1) (@ (@ tptp.icl_impl_princ (@ tptp.icl_princ tptp.alice)) _let_1)))))
% 20.44/20.65 (assert (@ tptp.iclval (@ (@ tptp.icl_says (@ tptp.icl_princ tptp.alice)) (@ tptp.icl_atom tptp.deletefile1))))
% 20.44/20.65 (assert (not (@ tptp.iclval (@ tptp.icl_atom tptp.deletefile1))))
% 20.44/20.65 (set-info :filename cvc5---1.0.5_11020)
% 20.44/20.65 (check-sat-assuming ( true ))
% 20.44/20.65 ------- get file name : TPTP file name is SWV433^1
% 20.44/20.65 ------- cvc5-thf : /export/starexec/sandbox2/solver/bin/cvc5---1.0.5_11020.smt2...
% 20.44/20.65 --- Run --ho-elim --full-saturate-quant at 10...
% 20.44/20.65 --- Run --ho-elim --no-e-matching --full-saturate-quant at 10...
% 20.44/20.65 --- Run --ho-elim --no-e-matching --enum-inst-sum --full-saturate-quant at 10...
% 35.65/35.89 --- Run --ho-elim --finite-model-find --uf-ss=no-minimal at 5...
% 35.65/35.89 --- Run --no-ho-matching --finite-model-find --uf-ss=no-minimal at 5...
% 35.65/35.89 % SZS status CounterSatisfiable for SWV433^1
% 35.65/35.89 % cvc5---1.0.5 exiting
% 35.65/35.89 % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------